(defparameter *fixed-state*
	'(
;; Start life at home at midnight, sleeping
		(atloc home)
		(asleep my_bed)
;; Home sweet home
		(affordance home ishome)

;; Places - map
		(place home)
		(place work)

		(place parents_home)
		(place friend_place)
		; pubs/food
		(place u_svejka)
		(place vypichnuty_voko)
		(place menza)
		; social
		(place theater_national)
		(place theater_international)
		(place cinema_city)
		(place cinema_palace)

;; Mass transit - travel
;; Invariant: we can get to every place with at most 2 steps, one bus, one tram
;; All trams are connected together, all busses are connected together, overlaps are identical stops
		; bus stops
		(busstop home)
		(busstop work)
		(busstop parents_home)
		(busstop menza)
;		(busstop theater_international)
;		(busstop cinema_palace)

		; routes
		(busroute home work bus210)
		(busroute home parents_home bus311)
		(busroute home menza bus120)
			; l2
		(busroute work parents_home bus155)
		(busroute work menza bus160)
			; l3
		(busroute parents_home menza bus140)

		; tram stops
		(tramstop home)
		(tramstop work)
		(tramstop u_svejka)
		(tramstop vypichnuty_voko)
		(tramstop friends_place)
;		(tramstop theater_national)
;		(tramstop cinema_city)
;		(tramstop cinema_palace)

		; routes
		(tramroute home work tram11)
		(tramroute home u_svejka tram22)
		(tramroute home vypichnuty_voko tram33)
		(tramroute home friends_place tram22)
			; l2
		(tramroute work u_svejka tram22)
		(tramroute work vypichnuty_voko tram33)
		(tramroute work friends_place tram12)
			; l3
		(tramroute u_svejka vypichnuty_voko tram14)
		(tramroute u_svejka friends_place tram15)
			; l4
		(tramroute vypichnuty_voko friends_place tram16)

		; walking distance
		(iswalkable home work)
		(iswalkable home friends_place)

;; Affordances/locations - facts
		; home
		(affordance home to-cook stove1)
		(affordance home to-sleep my_bed)
		(affordance home has-toilet toilet1)
		(affordance home has-toothbrush brush1)
		(affordance home has-sink sink1)
		(affordance home has-shower shower1)
		(affordance home has-computer computer1)

		; friend's place
		(affordance friend_place to-cook stove2)
		(affordance friend_place to-sleep couch1)
		(affordance friend_place has-toilet toilet2)
		(affordance friend_place has-sink sink2)
		(affordance friend_place has-shower shower2)

		; menza
		(affordance menza to-eat)
		(affordance menza has-toilet toilet6)
;		(affordance menza has-sink sink6) - v menze kohoutek nefunguje!
		(affordance menza menu studentsky_rizek)
		(affordance menza menu hnedave_cosi)
		(affordance menza menu bledezeleny_vyvar)

		; pub u svejka
		(affordance u_svejka ispub)
		(affordance u_svejka to-eat)
		(affordance u_svejka has-toilet toilet5)
		(affordance u_svejka has-sink sink5)
		(affordance u_svejka menu segedin)
		(affordance u_svejka menu svickova)
		(affordance u_svejka menu sekana)

		; pub vypichnuty voko
		(affordance vypichnuty_voko ispub)
		(affordance vypichnuty_voko to-eat)
		(affordance vypichnuty_voko has-toilet toilet6)
		(affordance vypichnuty_voko has-sink sink6)
		(affordance vypichnuty_voko menu jatyrka_na_rozni)
		(affordance vypichnuty_voko menu svickova)
		(affordance vypichnuty_voko menu rizek)

		; parent's place
		(affordance parents_home has-toilet toilet3)
		(affordance parents_home has-toothbrush brush2)
		(affordance parents_home has-sink sink3)
		(affordance parents_home has-shower shower3)
		(affordance parents_home to-cook stove3)
		(affordance parents_home to-sleep bed1)

		; work office
		(affordance work has-toilet toilet4)
		(affordance work has-sink sink4)
		(affordance work has-computer computer2)
	)
)

(defparameter *fixed-state-need-loc*
	'(
	)
)

(defun gen-state-_top-goal (schema)
	(let ((loc (choose-loc)))
		(list `(,schema ,loc) ;; goal
			'() ;; state - no state
		)
	)
)

(defun choose-loc (&optional (fromlist *possible-locs*))
	(list-choose-uniform fromlist)
)

(defparameter *possible-locs*
	'(home)
)

